A RAID (Redundant Arrays of Independent Disks) has been widely known as a technology for building a high-speed, a large-capacity, highly reliable, improved disk system with a combination of multiple HDDs (Hard Disk Drives).
In general, a RAID apparatus uses a cache memory for performing reading and writing of user data in order to reduce a processing time for data access from a high-order apparatus (e.g., a host computer, simply referred to as a “host” hereinafter).
The cache memory is typically implemented by a semiconductor storage device, such as a DRAM (dynamic random access memory) or an SRAM (static random access memory).
When the RAID apparatus receives a user-data reading request from the host, the RAID apparatus searches the cache memory (which may simply be referred to as “cache” hereinafter) for user data corresponding to the reading request. Upon retrieving the corresponding user data, the RAID apparatus sends the retrieved cache data to the host.
When the RAID apparatus fails to retrieve the user data from the cache memory, the RAID apparatus retrieves corresponding user data stored on a hard disk device (which may simply be referred to as a “disk” hereinafter) and writes the retrieved user data to the cache memory.
When user data is stored in the cache memory upon reception of a user-data writing request from the host, the RAID apparatus notifies the host that the write processing is completed. Thereafter, when predetermined conditions are satisfied, the user data stored in the cache memory is stored onto the hard disk device.
Since the above-described cache memory is implemented by a volatile semiconductor storage device, the user data in the cache memory is erased when the power supply to the cache memory is stopped. Thus, during power failure, it is preferable that all data in the cache memory be saved to a nonvolatile storage device (e.g., a NAND flash memory or a CompactFlash® memory) for backup.
For example, as illustrated in FIG. 20, during power failure, a CPU (central processing unit) 21 in a RAID apparatus 20 controls an FPGA (field programmable gate array) 22, which performs writing processing on a NAND flash memory 23, to write and save cache data 24a, stored in a cache memory 24, to the NAND flash memory 23.
When power failure occurs, the power supply to the RAID apparatus 20 is switched from a PSU (power supply unit) 28 to an SCU (system capacity unit) 27 and the RAID apparatus 20 uses power stored in the SCU 27 to perform the data save processing.
Examples of related art include a technology for efficiently performing a write-back processing (for writing write data to a hard disk) to achieve a reduction in power during power failure (e.g., as disclosed in Japanese Laid-open Patent Publication No. 9-330277) and a technology for reallocating a logical disk device to a physical disk device on the basis of disk access information (e.g., as disclosed in Japanese Laid-open Patent Publication No. 2006-59374).